From: Steve Frécinaux Date: Fri, 28 Aug 2009 16:36:23 +0000 (+0200) Subject: Consolidate window tracking filters between app monitor and overview. X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~10981 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=bcc3dc0711be396a7429f28a660c68056790ece8;p=gnome-shell.git Consolidate window tracking filters between app monitor and overview. The windows we considered for both the app monitor and the overview workspaces were the same, but the code was duplicated once in C, once in Javascript. --- diff --git a/js/ui/workspaces.js b/js/ui/workspaces.js index 7fa0bb1ac..59d7ab7e2 100644 --- a/js/ui/workspaces.js +++ b/js/ui/workspaces.js @@ -745,11 +745,8 @@ Workspace.prototype = { // Tests if @win should be shown in the Overview _isOverviewWindow : function (win) { - let wintype = win.get_window_type(); - if (wintype == Meta.WindowType.DESKTOP || - wintype == Meta.WindowType.DOCK) - return false; - return !win.is_override_redirect(); + let appMon = Shell.AppMonitor.get_default() + return appMon.is_window_usage_tracked(win.get_meta_window()); }, _createWindowIcon: function(window) { diff --git a/src/shell-app-monitor.c b/src/shell-app-monitor.c index a6409574a..8548d37d4 100644 --- a/src/shell-app-monitor.c +++ b/src/shell-app-monitor.c @@ -345,7 +345,7 @@ window_is_tracked (MetaWindow *window) } /** - * window_is_usage_tracked: + * shell_app_monitor_is_window_usage_tracked: * * Determine if it makes sense to track the given window for application * usage. An example of a window we don't want to track is the root @@ -358,8 +358,8 @@ window_is_tracked (MetaWindow *window) * * Returns: %TRUE iff we want to record focus time spent in this window */ -static gboolean -window_is_usage_tracked (MetaWindow *window) +gboolean +shell_app_monitor_is_window_usage_tracked (MetaWindow *window) { if (!window_is_tracked (window)) return FALSE; @@ -562,7 +562,7 @@ get_active_window (ShellAppMonitor *monitor) display = meta_screen_get_display (screen); window = meta_display_get_focus_window (display); - if (window != NULL && window_is_usage_tracked (window)) + if (window != NULL && shell_app_monitor_is_window_usage_tracked (window)) return window; return NULL; } @@ -756,7 +756,7 @@ track_window (ShellAppMonitor *self, * tracked it doesn't count for the purposes of an application * running. */ - if (!window_is_usage_tracked (window)) + if (!shell_app_monitor_is_window_usage_tracked (window)) return; usage = get_app_usage_from_window (self, window); @@ -812,7 +812,7 @@ disassociate_window (ShellAppMonitor *self, if (window == self->watched_window) self->watched_window = NULL; - if (window_is_usage_tracked (window)) + if (shell_app_monitor_is_window_usage_tracked (window)) { AppUsage *usage; const char *context; @@ -930,7 +930,7 @@ shell_app_monitor_get_windows_for_app (ShellAppMonitor *self, ShellAppInfo *app = value; const char *id = shell_app_info_get_id (app); - if (!window_is_usage_tracked (window)) + if (!shell_app_monitor_is_window_usage_tracked (window)) continue; if (strcmp (id, appid) != 0) @@ -1181,7 +1181,7 @@ shell_app_monitor_get_running_apps (ShellAppMonitor *monitor, if (strcmp (get_window_context (window), context) != 0) continue; - if (!window_is_usage_tracked (window)) + if (!shell_app_monitor_is_window_usage_tracked (window)) continue; id = shell_app_info_get_id (app); diff --git a/src/shell-app-monitor.h b/src/shell-app-monitor.h index a56bd5e77..efc1e9ac6 100644 --- a/src/shell-app-monitor.h +++ b/src/shell-app-monitor.h @@ -44,6 +44,8 @@ GList *shell_app_monitor_get_most_used_apps (ShellAppMonitor *monitor, GSList *shell_app_monitor_get_windows_for_app (ShellAppMonitor *monitor, const char *appid); +gboolean shell_app_monitor_is_window_usage_tracked (MetaWindow *window); + /* Get whatever's running right now */ GSList *shell_app_monitor_get_running_apps (ShellAppMonitor *monitor, const char *context);